1.用udp進行交流
2.udp資料報模式(寫信的模型)
from socket import *
def main():
# 建立套接字
udp_socket = socket(af_inte,sock_dgram)
# 傳送方的ip與埠
send_addr = ('ip',埠號)
# 繫結埠號
udp_socket.bind(send_addr)
# 傳送內容
send_content = input('傳送的內容')
# 傳送
udp.socket.send(send_content.encode('gb2312'),send_addr)
# 接收資訊
recv_content = udp_socket.recvfrom(1024) # 接收的是元組(第乙個是內容,第二個是ip與埠號)
#列印資料
print(recv_content[0].decode('gb2312'))
# 關閉套接字
udo_socket.close()
if __name__ == '__mian__':
while true:
main()
注意:udp傳送資料是 sendto,接收資料是recvfrom
2.tcp客戶端
嚴格區分客戶端與伺服器
from socket import *
def main():
# 1.建立tcp套接字
tcp_client = socket(af_inet,sock_stream)
# 2.鏈結伺服器
server_ip = '192.168.0.105'
server_port = 8080
server_addr = (server_ip,server_port)
tcp_client.connect(server_addr)
# 3.傳送或接收資料
send_msg = input('請輸入要傳送的資訊: ')
tcp_client.send(send_msg.encode('gb2312'))
recv_msg = tcp_client.recv(1024)
print(recv_msg.decode('gb2312'))
# 4.關閉套接字
tcp_client.close()
if __name__ == '__main__':
main()
注意:tcp傳送資料是send,接收資料是recv
3.tcp伺服器
步驟:1.建立套接字
2.繫結ip和port
3.listen是套接字變成可以被動鏈結
4.accecp等待客戶端的鏈結
5.recv/send接收傳送資料
from socket import *
def main():
# 1.建立套接字
tcp_srever = socket(af_inet,sock_stream)
# 2.繫結ip與port
tcp_srever.bind(('192.168.0.105',8080))
# 3.listen將套接字變成可以被動鏈結的狀態
tcp_srever.listen(128)
# 4.accept等待客戶端的鏈結
client_socket,client_addr = tcp_srever.accept()
# 5.接收資料
recv_msg = client_socket.recv(1024)
print(recv_msg.decode('gb2312'))
client_socket.send('haha'.encode('gb2312'))
# 6.關閉套接字
client_socket.close()
tcp_srever.close()
if __name__ == '__main__':
main()
基於UDP簡單聊天程式
server.c include include include include include include include include include include define server port 8888 define max msg size 1024 void udps re...
Delphi簡單TCP聊天程式
首先上截圖 最近有點無聊,於是將以前寫到一半的聊天程式拿出來改進了一下。delphi自帶兩個控制項 tidtcpserver,tidtcpclient。顧名思義,乙個是伺服器端用的,另乙個是客戶端用的。程式主要思路如下,客戶端程式開始執行時與伺服器端建立連線,使用者登入時向伺服器端傳送login命令...
基於UDP的簡單聊天程式
pragma comment lib,ws2 32.lib include include void main if lobyte wsadata.wversion 1 hibyte wsadata.wversion 1 socket socksrv socket af inet,sock dgra...