簡體   English   中英

Safari無法與我的TCP服務器一起使用

[英]Safari doesn't work with my TCP server

我制作了一個響應“ Hello world!”的TCP服務器。 到每個請求,當我在Chrome上轉到127.0.0.1:1999時,它顯示“ Hello world!”,但在Safari(OSX Capitan)上也顯示“ Safari無法打開頁面,因為服務器意外斷開了連接”。

當我在這里嘗試C服務器示例時,我看到了相同的問題:它適用於Chrome,但不適用於Safari。 但是,執行相同操作的node.js示例對兩者都適用。 是什么賦予了?

使用C TCP服務器可以使Safari滿意嗎? 我不太關心支持每種瀏覽器,而是要確保自己沒有做錯什么。

對於您引用的C代碼示例,我懷疑您在響應中需要Content-Length標頭。

如果我算對的字符是240。

char response[] = "HTTP/1.1 200 OK\r\n"
"Content-Type: text/html; charset=UTF-8\r\n\r\n"
"Content-Length: 240"
"<!DOCTYPE html><html><head><title>Bye-bye baby bye-bye</title>"
"<style>body { background-color: #111 }"
"h1 { font-size:4cm; text-align: center; color: black;"
" text-shadow: 0 0 2mm red}</style></head>"
"<body><h1>Goodbye, world!</h1></body></html>\r\n";

該頁面上針對其他語言的其他一些實現完全是錯誤的 ,並且沒有正確發送回HTTP 1.1。

如果您分享您的代碼,我可以給一個更好的答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM